package org.example.maven.service;

import org.example.maven.pojo.department.list.AddDepartment;
import org.example.maven.pojo.department.list.DepartmentListTable;
import org.example.maven.pojo.department.list.DepartmentSelect;

import java.util.List;
import java.util.Map;

public interface DepartmentService {
    //获取部门信息ListTable
    List<DepartmentListTable> getAllDepartmentList();

    //获取特定的部门信息
    List<DepartmentListTable> getSpecieDepartment(String deptName,Integer status);

    //获取部门select的选项信息
    List<DepartmentSelect> getDepartmentSelect();

    //添加部门
    void addDepartment(AddDepartment addDepartment);

    //根据id查询部门信息
    AddDepartment getDepartmentById(Integer id);

    //根据id更新部门信息
    void updateDepartmentById(AddDepartment addDepartment);

    //逻辑删除部门
    void deleteDepartment(Integer id);

    //判断部门是否存在
    AddDepartment findDepartmentByName(String deptName);

    //判断添加的部门在逻辑删除里是否存在
    AddDepartment findDepartmentIsDeleted(String deptName);

    //更新已经删除的部门信息
    void updateDeletedDepartment(AddDepartment addDepartment);
}
